/**
 * 时间工具函数
 */

/**
 * 获取当前时间（中文格式）
 * @returns 格式化的当前时间字符串
 */
export function getCurrentTime(): string {
    return new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' });
}

/**
 * 获取当前日期（中文格式）
 * @returns 格式化的当前日期字符串
 */
export function getCurrentDate(): string {
    return new Date().toLocaleDateString('zh-CN', { timeZone: 'Asia/Shanghai' });
}

/**
 * 获取当前时间戳
 * @returns 当前时间戳（毫秒）
 */
export function getCurrentTimeStamp(): number {
    return Date.now();
}

/**
 * 格式化时间差
 * @param timeDifference 时间差（毫秒）
 * @returns 格式化的时间差字符串
 */
export function formatTimeDifference(timeDifference: number): string {
    const days = Math.floor(timeDifference / (24 * 60 * 60 * 1000));
    const hours = Math.floor((timeDifference % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
    const minutes = Math.floor((timeDifference % (60 * 60 * 1000)) / (60 * 1000));
    return `${days}天${hours}小时${minutes}分钟`;
}

/**
 * 计算时间差
 * @param createdTimestamp 创建时间戳
 * @returns 时间差（毫秒）
 */
export function calculateTimeDifference(createdTimestamp: number): number {
    return Date.now() - createdTimestamp;
}

/**
 * 检查是否超过指定天数
 * @param timeDifference 时间差（毫秒）
 * @param days 天数，默认31天
 * @returns 是否超过指定天数
 */
export function isOverDays(timeDifference: number, days: number = 31): boolean {
    const targetDaysInMs = days * 24 * 60 * 60 * 1000;
    return timeDifference > targetDaysInMs;
} 